package cn.bluethink.eguan.model.core;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

import cn.bluethink.eguan.utils.DateTimeSerializer;

/**
 * 驿馆提交的结果
 * 
 * @author 苏州中科蓝迪公司所有(c)2016-2021
 * @version 0.3.0
 * @brief 驿馆+产品
 * @note 修订历史： 1.wanglei于2019/01/30设计并构建初始版本v0.3.0
 */
public class EgResult extends EgObject {

    /**
     * 结果描述（工作任务没有结果描述）
     */
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String des;

    /**
     * 文件列表
     */
    private List<EgFile> fileList;

    /**
     * 此结果所针对的对象（工作任务可以不返回）
     */
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private EgObject obj;

    /**
     * 结果提交者（工作任务可以不返回）
     */
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private EgObject user;

    /**
     * 结果提交时间（工作任务可以不返回）
     */
    @JsonSerialize(using = DateTimeSerializer.class)
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Date ctime;

    public EgResult() {
    }
    
    public EgResult(Long id, String name, EgOType otype) {
        super(id, name, otype);
    }

    public String getDes() {
        return des;
    }

    public void setDes(String des) {
        this.des = des;
    }

    public List<EgFile> getFileList() {
        return fileList;
    }

    public void setFileList(List<EgFile> fileList) {
        this.fileList = fileList;
    }

    public EgObject getObj() {
        return obj;
    }

    public void setObj(EgObject obj) {
        this.obj = obj;
    }

    public EgObject getUser() {
        return user;
    }

    public void setUser(EgObject user) {
        this.user = user;
    }

    public Date getCtime() {
        return ctime;
    }

    public void setCtime(Date ctime) {
        this.ctime = ctime;
    }

}
